3.3 - Linux下实现进程守护

Linux下实现进程守护的详细实现步骤 (仅建议资深Linux玩家操作)


以下两种方式可任选其一 (建议选择一):

一、Supervisor

首先安装supervisor,已安装的可以跳过。

# 安装 supervisor
yum install python-setuptools supervisor -y    //Centos使用
apt install python-setuptools supervisor -y    //Ubuntu、Debian使用

# 初始化全局配置文件
touch /etc/supervisord.conf
echo_supervisord_conf > /etc/supervisord.conf

编辑全局配置文件:

vi /etc/supervisord.conf

将文件底部的[include] 分区注释符号;删除,加入新的配置文件包含路径:

[include]
files = /etc/supervisor/conf/*.conf

创建 GoMinerProxy 应用配置所在文件目录,并创建打开配置文件:

mkdir -p /etc/supervisor/conf
vi /etc/supervisor/conf/gominerproxy.conf

根据实际情况填写以下内容并保存:

[program:gominerproxy]
directory=/root/go_miner_proxy
command=/root/go_miner_proxy/GoMinerProxy
autostart=true
autorestart=true
stderr_logfile=/root/go_miner_proxy/log/gominerproxy.err
stdout_logfile=/root/go_miner_proxy/log/gominerproxy.log
environment=CODENATION_ENV=prod

其中以下配置项需要根据实际情况更改:

  • directory: GoMinerProxy主程式所在目录
  • command: GoMinerProxy主程式绝对路径
  • stderr_logfile: 错误日志路径
  • stdout_logfile: 通常日志路径

通过全局配置文件启动supervisor:

supervisord -c /etc/supervisord.conf

日后你可以通过以下指令管理 GoMinerProxy进程:

# 启动
supervisorctl start gominerproxy

# 停止
supervisorctl stop gominerproxy

# 查看状态
supervisorctl status gominerproxy

二、Systemd

# 编辑配置文件
vi /usr/lib/systemd/system/gominerproxy.service

将文件中PATH_TO_GOMINERPROXY 更换为程式所在目录:

[Unit]
Description=gominerproxy
Documentation=https://github.com/GoMinerProxy/GoMinerProxy/
After=network.target

[Service]
WorkingDirectory=/PATH_TO_GOMINERPROXY
ExecStart=/PATH_TO_GOMINERPROXY/gominerproxy
Restart=on-abnormal
RestartSec=5s
KillMode=mixed

StandardOutput=null
StandardError=syslog

[Install]
WantedBy=multi-user.target

使用如下指令操控服务

# 更新配置
systemctl daemon-reload

# 启动服务
systemctl start gominerproxy

# 设置开机启动
systemctl enable gominerproxy

results matching ""

    No results matching ""